info=[]
def add_info():
    print('正在添加学生信息！'.center(20,'*'))
    student_id = input("请输入小学生的学号）：")
    student_name = input("请输入学生的姓名：")
    student_age = input("请输入学生的年龄）：")
    student_phone = input("请输入学生的电话：")


    for i in info:
        if student_name==i['name']:
            print('学生已存在，请再用小脑瓜子思考一下')
            break
    dict1 = {}
    dict1['id'] = student_id
    dict1['name']=student_name
    dict1['age'] = student_age
    dict1['phone'] = student_phone
    info.append(dict1)
    print('amazing 添加成功！'.center(20,'*'))


def del_student():
    '''删除学员，或输入'exit'退出'''
    while True:
        choice = input("请输入要执行的操作（输入学号以删除学员，或输入'exit'退出）：")
        if choice.lower() == 'exit':
            print("退出删除操作。")
            break  # 退出循环

        try:
            del_id = int(choice)  # 如果用户没有输入'exit'，则尝试将输入转换为整数
        except ValueError:
            print("请输入一个有效的整数作为学号，或输入'exit'退出！")
            continue  # 如果输入无效，继续循环

        found = False
        for index, student in enumerate(info):
            if str(del_id) == student['id']:  # 由于我们假设id是字符串，所以这里将del_id转换为字符串进行比较
                found = True
                del1 = input("是否确定删除这个学员？（yes or no）！")
                if del1.lower() == 'yes':
                    del info[index]
                    print(f"{del_id}该学员已经飞升")
                    print(info)
                    break  # 退出内层循环
                else:
                    print("已取消删除操作。")
                    break  # 退出内层循环，但不会退出整个删除流程

        if not found:
            print(f"{del_id}不存在于学员列表中，请重新输入！")


def modify_info(info):
    while True:
        del_id = input("请输入要修改的学员学号（输入exit退出）：")
        if del_id.lower() == 'exit':
            break

        found = False
        for index, student in enumerate(info):
            if del_id == student['id']:
                found = True
                print(student)
                modify = input("是否确定修改这个学员？（yes or no）")
                if modify.lower() == 'yes':
                    new_id = input("请输入新的学号（或留空保持原样）：")
                    new_name = input("请输入新的姓名（或留空保持原样）：")
                    new_age = input("请输入新的年龄（或留空保持原样）：")
                    new_phone = input("请输入新的电话（或留空保持原样）：")

                    # 更新字典
                    student['id'] = new_id if new_id else student['id']
                    student['name'] = new_name if new_name else student['name']
                    student['age'] = int(new_age) if new_age.isdigit() else student['age']
                    student['phone'] = new_phone  # 电话号码通常不转换为整数

                    print(f"{del_id}该学员已经经过修改")
                    print(info)
                    break
                else:
                    print("未修改！")
                    break

        if not found:
            print(f"{del_id}不存在于学员列表中，请重新输入！")




def search_student():
    name = input("请输入要查询的姓名：")
    found = False
    for student in info:  # 使用更清晰的变量名来代表列表中的元素
        if student['name'] == name:
            print("***查询信息如下***")
            print(student)
            found = True
            break
    if not found:
        print("查无此人，请重新输入")


# search_student()

def print_all():
    for i in info:
        print(f'学号:{i['id']},姓名:{i['name']},年龄:{i['age']},电话号码:{i['tel']}')
add_info()
del_student()
modify_info()
search_student()
print_all()